#ifndef __HAL_DEVICE_H__
#define __HAL_DEVICE_H__

class HAL_DEVICE_CLASS
{
    public:
        void HAL_Device_IO_Init(void);
        
        bool HAL_Device_Init(void);

        void HAL_Device_Reset(void);
        
        bool HAL_Device_ReLink(void);
        
        bool HAL_Device_SendCmd(char *cmd, char *res);
        
        void HAL_Device_SendData(unsigned char *data, unsigned short len);
        
        unsigned char *HAL_Device_GetIPD(unsigned short timeOut);
        
        void HAL_Device_ClrData(void);
        
        unsigned char HAL_Device_Check(void);
        
        void HAL_Device_ReConfig(unsigned char step);
        
        void HAL_Device_Set_DataMode(unsigned char mode);
        
        unsigned char HAL_Device_Get_DataMode(void);

    private:
        char staName[20] = "ONENET";
        char staPass[30] = "IOT@Chinamobile";
        
        unsigned short err : 2;     //错误类型
        unsigned short initStep : 4;  //初始化步骤
        unsigned short dataType : 4;  //设定数据返回类型--16种
        unsigned short reverse : 6;   //预留
        unsigned int  PIN_LED = 2;
};

#endif

